interval: 預設搜集所有輸入的時間間隔 Default data collection interval for all inputs round_interval: Rounds collection interval to ‘interval’ ie, if interval=”10s” then always collect on :00, :10, :20, etc. metric_buffer_limit: Telegraf will cache metric_buffer_limit metrics for each output, and will flush this buffer on a successful write. collection_jitter: Collection jitter is used to jitter the collection by a random amount. Each plugin will sleep for a random time within jitter before collecting. This can be used to avoid many plugins querying things like sysfs at the same time, which can have a measurable effect on the system. flush_interval: Default data flushing interval for all outputs. You should not set this below interval. Maximum flush_interval will be flush_interval + flush_jitter flush_jitter: Jitter the flush interval by a random amount. This is primarily to avoid large write spikes for users running a large number of telegraf instances. ie, a jitter of 5s and flush_interval 10s means flushes will happen every 10-15s. debug: Run telegraf in debug mode. quiet: Run telegraf in quiet mode. hostname: Override default hostname, if empty use os.Hostname().
[inputs.xxx]
name_override: Override the base name of the measurement. (Default is the name of the input). name_prefix: Specifies a prefix to attach to the measurement name. name_suffix: Specifies a suffix to attach to the measurement name. tags: A map of tags to apply to a specific inputs measurements. interval: How often to gather this metric. Normal plugins use a single global interval, but if one particular input should be run less or more often, you can configure that here.
Input filter
pass: An array of strings that is used to filter metrics generated by the current input. Each string in the array is tested as a glob match against field names and if it matches, the field is emitted. drop: The inverse of pass, if a field name matches, it is not emitted. tagpass: tag names and arrays of strings that are used to filter measurements by the current input. Each string in the array is tested as a glob match against the tag name, and if it matches the measurement is emitted. tagdrop: The inverse of tagpass. If a tag matches, the measurement is not emitted. This is tested on measurements that have passed the tagpass test.
tagdrop
1 2 3 4 5 6 7 8
# 不搜集 cpu6 cpu7 的 cpu 資料 [[inputs.cpu]] percpu = true totalcpu = false drop = ["cpu_time"] # Don't collect CPU data for cpu6 & cpu7 [inputs.cpu.tagdrop] cpu = [ "cpu6", "cpu7" ]
tagpass
tagpass conditions are OR, not AND.
1 2 3 4 5 6 7 8 9
# 如果 filesystem 是 ext4 或 xfs 或者路徑為 /opt 或 /home 可以通過 [[inputs.disk]] [inputs.disk.tagpass] # tagpass conditions are OR, not AND. # If the (filesystem is ext4 or xfs) OR (the path is /opt or /home) # then the metric passes fstype = [ "ext4", "xfs" ] # Globs can also be used on the tag values path = [ "/opt", "/home*" ]
drop
1 2 3 4 5 6 7 8 9 10
#過濾掉開頭為 time_ 的欄位(fields) [[inputs.cpu]] # filter all fields beginning with 'time_' drop = ["time_*"]
# Drop all metrics for guest & steal CPU usage [[inputs.cpu]] percpu = false totalcpu = true drop = ["usage_guest", "usage_steal"]
pass
1 2 3 4
# 只有 inode 相關能通過 # Only store inode related metrics for disks [[inputs.disk]] pass = ["inodes*"]